#pragma once

#include "GenRand.h"
#include <list>

class CRandom
{
public:
	CRandom();
	virtual ~CRandom(void);

	void SetRepetition(unsigned int aMaxRepetitions);
	void SetMin(unsigned int aMin);
	void SetMax(unsigned int aMax);

	unsigned int Min();
	unsigned int Max();
	unsigned int Next();

	int RemainingNumbers();

private:
	unsigned int iMin;
	unsigned int iMax;
	unsigned int iMod;
	unsigned int iRep;
	
	std::list<unsigned int> iGenNumbers;
	TrueRand::GenRand* iRandGen;
};
